package com.shujia.scala

import com.alibaba.fastjson.{JSON, JSONArray, JSONObject}

import java.lang
import scala.io.Source

object Demo25JSON {
  def main(args: Array[String]): Unit = {

    /**
     * 解析json格式的数据
     *
     * 第三方解析json工具  fastJson  Gson
     */

    //1、读取文件
    val lines: List[String] = Source.fromFile("data/users.json").getLines().toList

    //2、将读到的数据拼接成一个字符串
    val jsonStr: String = lines.mkString("\n")

    println(jsonStr)

    /**
     * 使用FastJson解析json格式的数据
     *
     */

    val userArray: JSONArray = JSON.parseArray(jsonStr)

    var index = 0
    while (index < userArray.size()) {

      //通过下标获取每一个用户
      val userObject: JSONObject = userArray.getJSONObject(index)

      //通过列名获取列值
      val id: String = userObject.getString("id")
      val nane: String = userObject.getString("name")
      val age: lang.Long = userObject.getLong("age")

      println(s"$id\t$nane\t$age")

      index += 1
    }


  }

}
